# 云胡的编程随笔第 1 期

# 一、点滴记录

# 1.1 时区设置

javajavascript 的时区遵守 INNA 时区数据库,中国是用 Asia/Shanghai

# 1.2 接口测试技巧

将前端的链接用 cURL (bash) 复制可以在 postman 中导入,会自动携带 token 等数据,方便测试后端接口。

# 1.3 Vue 性能优化

  1. vue 的计算属性可以自动缓存,只有依赖的响应式数据变化时才会重新计算,而函数每一次调用都会计算。

# 1.4 数据库存储 Emoji

数据表如果需要存储 emoji 表情,那么数据表在创建时可以指定字符集为 utf8mb4COLLATE 会指定字符串的排列方式,utf8mb4_unicode_ci 不区分大小写。

```sql
-- 创建表时指定
CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    xxxx yyy
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```

# 1.5 前端获取当前时间

```js
// 1. 格式化为 yyyy-MM-dd HH:mm:ss
const nowTime = new Date().toISOString().replace('T', ' ').substring(0, 19);

// 2. 使用 dayjs 
const nowTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
```

# 1.6 cursor AI 助手技巧

1. 在某个方法上使用 `/optimize` 命令
可以分析,识别并优化代码性能,然后可以重构我们的代码使其通俗易懂,可以减少冗余的中间代码。

2. 在某个方法上使用 `/explain` 可以对这个方法进行详细的解释。

3. 在提问时加上 `@Codebase` 可以理解代码库的整体结构和依赖关系,可以在整体的视角下进行提问,可以跨文件理解,然后也可以全局搜索特定功能的位置。

# 1.7 Spring Bean 的声明周期

Spring 中 Bean 的生命周期是指:Bean 在 Spring(IoC)中从创建到销毁的整个过程。

Spring 中 Bean 的生命周期主要包含以下:

实例化:为 Bean 分配内存空间;

设置属性:将当前类依赖的 Bean 属性,进行注入和装配;

初始化:执行各种通知;

执行初始化的前置方法;

执行初始化方法;

执行初始化的后置方法。

使用 Bean:在程序中使用 Bean 对象;

销毁 Bean:将 Bean 对象进行销毁操作。

# 1.8 JavaScript 对象简写

JavaScript 中的对象属性简写语法(Object Property Shorthand)。

在 ES6(ES2015)中引入的这个语法特性,当对象的属性名和变量名相同时,可以简写。

    // 完整写法
    const obj = {
        provinceId: provinceId,
        provinceName: provinceName
    };

    // 简写语法(ES6+)
    const obj = {
        provinceId,
        provinceName
    };
1
2
3
4
5
6
7
8
9
10
11

# 1.9 数据库查询顺序

在同时有查询条件和分页的情况下,务必先执行查询条件再分页,如果先分页再执行查询条件就会漏掉,切记。

# 1.10 Git 撤销本地修改

本地文件修改了,保存了,然后发现改错了,这时候不记得改了哪些内容,也还没提交 add 提交到暂存区,此时使用 git checkout filename,可以丢弃掉所有本地修改。

# 二、新的发现

  1. MCP 终极指南

    https://guangzhengli.com/blog/zh/model-context-protocol (opens new window)

  2. MCP 资源合集

    https://github.com/yzfly/Awesome-MCP-ZH (opens new window)

  3. AI 生成产品原型

    https://design.gemcoder.com (opens new window)

  4. lodash,前端的一个防抖节流库

    https://www.lodashjs.com/ (opens new window)

# 三、一点想法

像是 CursorClaude CodeGemini 这些 AI 产品,写代码的水平比普通程序员好太多了,有了它明显效率高太多了,

未来该怎么办,市场根本不需要那么多的程序员,很焦虑,要想不被淘汰,只能说去拥抱 AI

没有人能对抗潮水的方向。